The ability to display windows is increasingly becoming a common feature of many computers, including personal computers. One common architecture for a graphics control system used to display windows is illustrated in FIG. 1.
As shown in FIG. 1, this conventional graphics control system comprises a host computer 10, a graphics processor 20, a display memory 30, and a display device, such as CRT 32. The host computer 10 comprises a main memory 12 and a CPU 14. All commands relating to the windows display are generated by the host computer 10 which communicates with the graphics processor 20 via the bus 16. The graphics processor 20 is comprised of a processing unit 22, a graphics context 24, and a drawing unit 26. The processing unit 22 performs two functions: 1) it receives and executes the commands issued by the host computer 10; and 2) it converts certain graphics parameters stored in the graphics context 24 into display data. The drawing unit 26 communicates with the display memory 30 via a bus 28. The function of the drawing unit 26 is to write the display data into the display memory 30. The display data is then converted from digital to analog form by a D/A converter (not shown) and then transmitted to the CRT screen 32 and displayed as an image.
The graphics context 24 is a buffer that stores a set of image parameters needed to carry out a current command. For example, to draw a line segment on the CRT 32, the graphics context 24 stores the initial and final addresses of the line segment on the CRT, information relating to foreground color and background color, information relating to the mix of the three primary colors red, green, and blue, and other similar parameters. When displaying windows, other parameters will also need to be stored, such as the manner in which overlapping images will be processed (i.e., whether by AND or NOR processing), the initial and final addresses of the windows on the CRT, etc.
Whenever the image being displayed is to be changed, a great deal of processing must be done. This is especially true when windows images are being displayed. In processing the content of a windows image, the CPU 14 will compute the relevant graphics context parameters, enter them one by one into the graphics context 24, and instruct the graphics processor 20 to execute the drawing command. After execution of the current command has been completed, the host computer 10 will enter new parameters into the graphics context 24 for the next command to be executed.
When it is necessary to swap and move window images, the host computer 10 will have to retain in the main memory 12 the graphics context parameters of the windows image currently being displayed. The host computer 10 will also have to move out the graphics context parameters for the new window image to be displayed from the main memory 12 into the graphics processor 20 and instruct it to execute the next drawing command.
This method of operation is cumbersome and has several disadvantages. First, when the graphics processor is implementing a drawing command, the host computer cannot change any of the parameters stored in the graphics context. Instead, the host has to wait until execution of the current command is completed before it can compute and rewrite the values in the graphics context. As a result, the efficiency of the drawing operation is diminished.
Second, the host computer must refill the graphics context each time window swapping or window movement occurs. As a result, the display speed of the changed window will be decreased, and the efficiency of the host computer, in terms of its general execution speed, will decline.
It is therefore an object of the present invention to provide a graphics control system for a digital computer which does not suffer from these disadvantages. In particular, it is an object of the present invention to provide a graphics control system for a digital computer which is capable of much swifter image processing, including windows image processing, than conventional graphics control systems.